Storage medium and control method of information processing apparatus

ABSTRACT

An object of the present disclosure is to provide a printing system capable of supporting a plurality of printable areas for one paper size. One embodiment of the present invention is a non-transitory computer readable storage medium storing a program for causing a computer to perform a control method in an information processing apparatus including: first printing control software; and second printing control software that converts first format print data output by the first printing control software into second format print data, and the control method includes: a first creation step of creating raster data based on the first format print data; a medium determination step of performing determination of whether a printing-target medium is a medium that needs a margin larger than a regular size; and a margin insertion step of performing margin insertion processing for raster data created at the first creation step.

This application is a continuation of U.S. application Ser. No.17/232,914, filed Apr. 16, 2021.

BACKGROUND OF THE INVENTION Field of the Invention

The present disclosure relates to a storage medium and a control methodof an information processing apparatus.

Description of the Related Art

There is a technique for an operating system (in the following, calledOS) to provide a standard printing function (in the following, called OSstandard printing function) without requiring a printer driver (in thefollowing, called inherent printer driver), which is software inherentto a printer provided by a printer vendor. The OS determines whether aprinter is compatible with the OS standard printing function (in otherwords, whether the printer supports the OS standard printing function)based on information acquired from the printer. In a case where thedetermination results indicate that the printer is compatible with theOS standard printing function, print data that is created by making useof the OS standard printing function is transmitted to the printer.

However, there is a case where a printer is not compatible with the OSstandard printing function, and therefore, it is not possible for theprinter to interpret print data created by the OS standard printingfunction. Further, even though the printer is compatible with the OSstandard printing function, there is a case where it is desired to causethe printer to perform printing based on the printing settings moredetail than those of the OS standard printing function. As a method fordealing with the cases such as these, a print data conversion utility isknown for making it possible to use the OS standard printing function bymaking the printer seem to be compatible with the OS standard printingfunction in a pseudo manner without installing the inherent printerdriver.

Incidentally, in information a printer handles, there exists sizeinformation indicating a maximum area in which it is possible to performprinting on paper, which is called a printable area. For example, in acase where a margin of 3 mm is necessary as the top, bottom, left, andright margins on paper of the A4 size (210 mm×297 mm) because of themechanism of a printer, the printable area of the A4 size of thisprinter is 204 mm×291 mm. There is a case where the printable area isdifferent depending on the paper type and the feeding port, and in thecase such as this, it is necessary to set a plurality of printable areasfor one paper size. Japanese Patent-Laid Open No. 2019-053403 hasdisclosed a technique to solve a problem in a case where there is aplurality of print paths between an information processing apparatus anda printer and the printable area is different for each print path.

SUMMARY OF THE INVENTION

There is a case where it is not possible for the OS standard printingfunction to support a plurality of printable areas for one paper sizeand in the case such as that, even in the printing by the print dataconversion utility, it is not possible to support a plurality ofprintable areas for one paper size. On the other hand, generally, it ispossible for the inherent printer driver to support a plurality ofprintable areas for one paper size.

As described above, there is such a problem that it is not possible forthe OS standard printing function to support the function supported bythe inherent printer driver and even the print data conversion utilitycannot support the function. Consequently, in view of theabove-described problem, an object of one embodiment of the presentinvention is to provide a printing system capable of supporting aplurality of printable areas for one paper size without using theinherent printer driver.

One embodiment of the present invention is a non-transitory computerreadable storage medium storing a program for causing a computer toperform a control method in an information processing apparatusincluding: first printing control software that supports a standardprinting function independent of a printing apparatus; and secondprinting control software that converts first format print data outputby the first printing control software into second format print datainherent to a connected printing apparatus, and the control methodincludes: a first creation step of creating raster data based on thefirst format print data; a medium determination step of performingdetermination of whether a printing-target medium is a medium that needsa margin larger than a regular size; a margin insertion step ofperforming margin insertion processing for raster data created at thefirst creation step in a case where determination results at the mediumdetermination step are affirmative; and a second creation step ofcreating the second format print data based on raster data into which amargin has been inserted at the margin insertion step.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a hardware configuration of a printingsystem;

FIG. 2 is a block diagram showing a software configuration of a hostcomputer;

FIG. 3 is a schematic diagram of a GUI screen provided by a print dataconversion utility;

FIG. 4 is a schematic diagram of a printing setting dialog in a drawingapplication;

FIG. 5 is a diagram showing printing setting information;

FIG. 6 is a flowchart showing a flow of each piece of processingperformed by a print data conversion utility in a first embodiment;

FIG. 7 is a diagram showing a data table stored in a device modelinformation database;

FIG. 8 is a schematic diagram showing data creation in the print dataconversion utility;

FIG. 9A is a printing results preview in the print data conversionutility and FIG. 9B is a schematic diagram showing a warning message atthe time of performing printing;

FIG. 10 is a flowchart showing a flow of each piece of processingperformed by a print data conversion utility in a second embodiment;

FIG. 11 is a diagram showing print data created by the print dataconversion utility;

FIG. 12 is a GUI screen that is presented to a user at the time ofcreating custom paper setting information;

FIG. 13 is a schematic diagram showing a custom paper setting file;

FIG. 14 is a flowchart showing a flow of each piece of processingperformed by a print data conversion utility in a third embodiment; and

FIG. 15 is a schematic diagram showing a custom paper selection dialogin the print data conversion utility.

DESCRIPTION OF THE EMBODIMENTS

In the following, with reference to the attached drawings, embodimentsof the present invention are explained in detail. The followingembodiments are not intended to limit the present invention relating tothe claims and all combinations of features explained in the followingare not necessarily indispensable to the solution of the presentinvention.

First Embodiment

<Configuration of Printing System>

In the following, the hardware configuration of a printing system in thepresent embodiment is explained by using FIG. 1 . FIG. 1 shows a systemas an example of a printing system to which the present embodiment canbe applied, in which a host computer 11 and a printer 12 are connectedso as to be capable of communication via a communication bus 121, suchas Ethernet (registered trademark) and USB. In the example in FIG. 1 ,the printing system has one printer, but the printing system may have aplurality of printers and it is possible to connect an arbitrary numberof printers to the host computer via the communication bus 121.

The host computer 11 is an example of an information processingapparatus. In the host computer 11, an operating system (in thefollowing, called OS) is installed. The OS comprises an OS standardprinting system 202, which is OS standard printing software, to bedescribed later.

The host computer 11 is, for example, a personal computer (PC) and has aCPU 101, a ROM 102, a RAM 103, a display unit 104, an input unit 105, anexternal storage device 106, and an interface (in the following,abbreviated to I/F) unit 107. The host computer 11 to which the presentembodiment can be applied is not limited to a desktop PC and may be anote PC, a tablet PC, and a smartphone.

The host computer 11 transmits instructions to control the printer 12,print data, setting commands and the like to the printer 12. The CPU 101is a central processing unit configured to control each unit of the hostcomputer 11 and executes various control programs, such as the OS and aprint data conversion utility 203, to be described later. In the ROM102, the OS and the like are stored. The RAM 103 is used as a work areaof the CPU 101. In the external storage device 106, an applicationprogram and various control programs, such as the print data conversionutility 203, are stored.

The input unit 105 is an input device including a keyboard, a mouse andthe like for operating the host computer 11. The display unit 104 is adisplay device that produces a display to check information that isinput by a user via the input unit 105, a display of a graphical userinterface screen of the OS or the application, a display of a message,and the like. The I/F unit 107 is a communication module that performstransmission and reception of data with the printer 12.

The printer 12, which is a printing apparatus, is, for example, an inkjet printer. The printer 12 has a CPU 111, a ROM 112, a RAM 113, a printengine 114, and an I/F unit 115. The CPU 111 is a central processingunit configured to control each unit of the printer 12. The ROM 112 is aread-only memory. In the ROM 112, programs that control the print engine114 are stored. In the RAM 113, programs necessary for the operation ofthe print engine 114, setting value data received from the host computer11, and the like are stored temporarily.

The print engine 114 forms an image on a medium (for example, recordingpaper and also called media) by performing printing based on the printdata sent from the host computer 11. The I/F unit 115 performstransmission and reception of data with the host computer 11 andreceives a print job from the host computer 11, transmits statusinformation on the printer 12 to the host computer 11, and so on. Thestatus information referred to here is information indicating thecurrent state of the printer 12, which the printer 12 can transmit as aresponse to a request from the host computer 11 connected via the I/Funit 115. The status information is information for notifying anexternal apparatus, such as the host computer 11, of the operating stateof the printer 12, for example, such as “during printing” and “standbystate”, and the error state of the printer 12, such as “out of paper”,“cover is open”, and “no remaining ink”.

<Software Configuration>

FIG. 2 is a block diagram showing the software configuration of the hostcomputer 11 in the present embodiment. On the host computer 11, the OSstandard printing system 202, which is OS standard printing software,and the print data conversion utility 203, which is printing controlsoftware, are mounted operably. Further, on the host computer 11, adrawing application 201 is mounted.

The drawing application 201 is software that creates drawing data basedon user instructions. The application referred to here is software thatruns on the OS, which is the basic software of the host computer 11. Thedrawing application 201 has the function to perform printing based onthe created drawing data and as the drawing application 201, mention ismade of, for example, document creation word processor software, imageediting software, new year's card creation software and the like. Thedrawing data that is created by the drawing application 201 is, forexample, data in the PDF (Portable Document Format) format.

After creating drawing data, the drawing application 201 makes aprinting request to the OS standard printing system 202 based on userinstructions. In a case where a printing request is made, as regards theprinting setting, it may also be possible to receive instructionsrelating to the printing setting from a user via a graphical userinterface screen (in the following, called GUI screen) for setting,which is provided by the print data conversion utility 203. In a casewhere a printing request is made from the OS standard printing system202, a print job including the information relating to the printingsetting created by the print data conversion utility 203 and the drawingdata created by the drawing application 201 is delivered to the OSstandard printing system 202. In the information relating to theprinting setting, information on the paper size, the paper type, whichprint queue printing is performed in and the like is included.

The OS standard printing system 202 is OS standard printing softwarecomprising standard functions necessary for print data creation andperforms spool processing of the drawing data created by the drawingapplication 201 and creates print data in a predetermined format (alsocalled standard format print data). Further, the OS standard printingsystem 202 performs processing to output the created print data in thestandard format to the print data conversion utility 203. Alternatively,the OS standard printing system 202 performs processing to output theprint data in the standard format directly to a print communication unit204 in order to transmit the data directly to the printer 12 withoutoutputting the data to the print data conversion utility 203. Further,the OS standard printing system 202 acquires identification information,such as device model information on the printer 12, via the printcommunication unit 204 in order to determine whether the printer 12supports the OS standard printing system 202. The information that isacquired for the support determination is not limited to the devicemodel information on the printer 12 and may be capability information onthe printer 12 and the like. The various kinds of processing in the OSstandard printing system 202 are performed by the control of a systemcontrol unit 211 within the OS standard printing system 202.

The print data conversion utility 203 is software that converts printdata in the standard format, which is output from the OS standardprinting system 202, into print data in the format inherent to a printervendor (also called inherent format print data).

Here, explanation is given on the assumption that the printer 12 doesnot support the OS standard printing system 202. It is not possible forthe printer 12 that does not support the OS standard printing system 202to interpret the print data in the standard format created by the OSstandard printing system 202 even though it receives the print data.Because of this, in the present embodiment, the host computer 11 mountsthe print data conversion utility 203. The print data conversion utility203 converts the print data in the standard format into print data inthe format inherent to a printer vendor (in the following, also called“individual format”) that the printer 12 can interpret. Due to this, itis made possible to cause the printer 12 that does not support the OSstandard printing system 202 to perform printing using the standardfunction of the OS standard printing system 202.

Even though the printer supports the OS standard printing system (thatis, even though the printer can interpret print data in the standardformat), it may be possible to use the print data conversion utility203. By using the print data conversion utility 203, it is made possiblefor the printing system to provide more functions. For example, thestandard function provided by the OS standard printing system 202 doesnot include the stamp function or the setting function of print quality.The reason is that the OS standard printing system 202 does not supportthe function that only the limited printer has because the OS standardprinting system 202 needs to support as many printers as possible.Because of this, by using the print data conversion utility 203, it ismade possible for the printing system to provide the functionsequivalent to those of the printer driver inherent to the printer vendor(inherent printer driver).

The print data conversion utility 203 has a data conversion unit 212 anda printer driver unit 213 and receives print data in the standard formatand printing setting information from the OS standard printing system202 and performs processing necessary for printing control.Specifically, the print data conversion utility 203 first acquiresdevice model information from the printer 12 via the print communicationunit 204 and determines whether the printer 12 supports the OS standardprinting system 202. The information that is acquired for supportdetermination is not limited to the device model information on theprinter 12 and may be capability information on the printer 12, and thelike.

In a case of determining that the printer 12 does not support the OSstandard printing system 202, the print data conversion utility 203performs virtual printer creation processing for virtually handling theprinter 12 as a printer supporting the OS standard printing system 202in a pseudo manner. As described previously, even though the printersupports the OS standard printing system 202, in a case where thefunctions equivalent to those of the printer driver inherent to theprinter vendor should be provided, it is desirable to perform thisvirtual printer creation processing. Further, the print data conversionutility 203 performs processing to convert the print data in thestandard format and the printing setting information, which are receivedfrom the OS standard printing system 202, into print data in theindividual format by using the data conversion unit 212 and the printerdriver unit 213. By converting data using the printer driver unit 213,even in a case where the number of functions provided by the OS standardprinting system 202 is small, it is possible to provide the functionsequivalent to those of the printer driver inherent to the printervendor. The OS standard printing system 202 in the present embodimentperforms transmission and reception of data with the print dataconversion utility 203 by using IPP (Internet Printing Protocol), whichis the standard printing protocol.

The print communication unit 204 is a communication module thattransmits the print data in the standard format, which is output by theOS standard printing system 202, or the print data in the individualformat, which is output by the print data conversion utility 203, to theprinter 12. Further, the print communication unit 204 also performsreception of data (data acquisition), such as status informationtransmitted from the printer 12.

<Outline of Print Data Conversion Utility>

In the following, the outline of the print data conversion utility 203in the present embodiment is explained. FIG. 3 shows a GUI screenprovided by the print data conversion utility 203. Inside a main window31, there exists a registered printer list display portion 32 in which alist of printers already registered in the print data conversion utility203 is displayed. Further, there exists a selected printer informationdisplay portion 33 that displays information on a selected printer in acase where a printer is selected from the registered printer listdisplay portion 32. Furthermore, a printer printing setting menu 34,which is a printing setting menu of a selected printer, and a paper sizemenu 35 and a paper type menu 36 as detailed printing setting menus aredisplayed. A user selects a paper size and a paper type, which areactually set to the printer 12, in the paper size menu 35 and the papertype menu 36. In a printer having a plurality of feeding ports, thenumber of settings of the paper size menu 35 and the paper type menu 36is the same as the number of feeding ports. Further, on the GUI screenprovided by the print data conversion utility 203, a print jobmanagement window 37 is also included, which is for managing a printjob, displaying a job status, and so on, in a case where a print job isinput to the print data conversion utility 203. In the print jobmanagement window 37, a print job progress situation check portion 38indicating the progress situation of a print job and a job statusdisplay portion 39 indicating the state of a print job exist.

<Printing Setting in Drawing Application>

FIG. 4 shows an example of a printing dialog 41 provided by the drawingapplication 201. The printing dialog 41 a screen that is displayed by auser giving instructions to perform printing on the screen of thedrawing application after creating drawing data using the drawingapplication 201. The printing dialog 41 has a printer menu 42 forselecting a printer that is caused to perform printing, a printingpreview area 43, a Print button 44 to give instructions to performprinting, and a Cancel button 45 to close the printing dialog 41 andreturn the control to that by the drawing application. The printingdialog 41 further has a paper size menu 46 for giving instructions toperform printing setting, a number of copies setting item 47, and adetailed setting menu 48 for performing other detailed settings. In thedetailed setting menu, for example, a menu such as a paper type menu 49exists. Among these menus, the paper size menu 46, the number of copiessetting item 47, and the paper type menu 49 are provided by the OSstandard printing system 202, not the drawing application 201.

In the printer menu 42, it is possible to select the virtual printerdescribed previously, which is created by the print data conversionutility 203, in addition to the printer that supports the OS standardprinting system 202. At this time, in a case where the virtual printeris selected in the printer menu 42, the various printing settingssupported by the virtual printer are displayed. The printing settingsare displayed by the print data conversion utility 203 notifying the OSstandard printing system 202 of printing setting information. In thepaper size menu 46, each of the regular sizes whose outer shape is thesame but whose printable area is different is displayed individually.For example, in a case of the size whose outer shape size is A4, inaddition to the normal A4 size, the A4 marginless size whose marginamount is 0 and whose printable area is equal to the outer shape size isdisplayed. In the printing in the OS standard printing system 202, thereis a case where it is possible to support only the two printable areasat the maximum for one outer shape size. In this case, it is notpossible to support a third size that can be supported in the printingby the inherent printer driver, that is, the size whose margin is largerthan that of the normal regular size (in the following, called“margin-large size”), and therefore, this is not displayed in the papersize menu 46.

<Data Conversion Processing by Print Data Conversion Utility>

In the following, processing in a case where printing instructions aregiven via the printing dialog 41 that is provided by the drawingapplication 201 is explained. The drawing application 201 delivers printdata in the standard format and printing setting information based onthe printing settings on the printing dialog 41, which includes thepaper size menu 46 and the like, to the print data conversion utility203 via the OS standard printing system 202. FIG. 5 shows an example ofprinting setting information. The printing setting information shown inFIG. 5 is represented by using IPP as one implementation example by theOS standard protocol. FIG. 5 shows an example of a case where the A4regular size is selected in the paper size menu 46 and “Automaticselection” is selected in the paper type menu 49. As the printingsetting information, paper width information 51, paper heightinformation 52, paper margin information 53, and paper type information54 are set. First, the print data conversion utility 203 compares thesetting contents in the paper size menu 35 and in the paper type menu 36in the main window 31 and the setting contents of the paper widthinformation 51, the paper height information 52, the paper margininformation 53, and the paper type information 54. At the time of thecomparison, the information on the outer shape and the likecorresponding to the size that is set in the paper size menu 35 isstored in the device model information database stored by the printerdriver unit 213, and therefore, the information is acquired from thedevice model information database. In a case where the comparisonresults indicate that both printing settings match with each other, theprint data conversion utility 203 performs print data creationprocessing based on both printing settings. Specifically, the print dataconversion utility 203 performs processing to convert print data in thestandard format into print data in the individual format by using thedata conversion unit 212 and the printer driver unit 213. On the otherhand, in a case where the comparison results indicate that both printingsettings do not match with each other, the print data conversion utility203 displays an error to the effect that both printing settings do notmatch with each other on the print job management window 37 and suspendsprinting. In a case where the setting information (setting value) of thepaper type information 54 is “auto”, the print data conversion utility203 does not perform the comparison processing between the settinginformation of the paper type information 54 and the setting informationin the paper type menu 36 and operates based on the setting in the papertype menu 36. At this time, in the paper type menu 36, there is a casewhere a paper type is selected, for which desired printing results arenot obtained unless the margin-large size is selected. In this case, itis possible to obtain desired printing results by performing processingto insert a desired margin at the time of the conversion processing intoprint data in the individual format using the data conversion unit 212and the printer driver unit 213.

FIG. 6 is a flowchart showing a flow of each piece of processing that isperformed by the print data conversion utility 203. The following flowis started in a case where a user gives printing instructions on thedrawing application 201.

At step S601, the data conversion unit 212 acquires the print data inthe standard format, which is created by the drawing application 201,and the printing setting information. In the following, “step S-” isabbreviated to “S-”.

At S602, the data conversion unit 212 acquires the printing settinginformation that is set via the main window 31, specifically, theprinting setting information in the paper size menu 35, the paper typemenu 36 and the like.

At S603, the data conversion unit 212 determines whether the contents ofthe printing setting information acquired at S601 and the contents ofthe printing setting information acquired at S602 match with each other.In a case where the determination results at this identity determinationstep are affirmative, the processing advances to S604 and on the otherhand, in a case where the determination results are negative, theprocessing advances to S605.

First, a case where the determination results at S603 are negative (in acase of NO at S603) is explained. In this case, at S605, the print dataconversion utility 203 displays a message to the effect that thecontents of the printing setting information acquired at S601 and thecontents of the printing setting information acquired at S602 do notmatch with each other on the print job management window 37. After thisstep, the series of processing by the print data conversion utility 203is completed.

Following the above, a case where the determination results at S603 areaffirmative (in a case of YES at S603) is explained. In this case, atS604, the data conversion unit 212 performs print data conversionprocessing. This conversion processing is processing to create rasterdata that the printer driver unit 213 can read based on the print datain the standard format and the printing setting information, which areacquired at S601.

At S606, the data conversion unit 212 determines whether theprinting-target medium is a medium that requires the data of themargin-large size larger than the margin of the normal regular size atthe time of printing based on the setting contents of the paper type ofthe printing setting information acquired at S601 and S602. This mediumdetermination processing is performed by acquiring informationindicating whether or not the data of the margin-large size of eachpaper type is necessary, which is stored in the device model informationdatabase stored by the printer driver 213. Here, FIG. 7 shows an exampleof a data table stored in the device model information database. Asshown in FIG. 7 , information indicating whether or not the data of themargin-large size is necessary and the necessary margin amount aremanaged for each paper type, and therefore, it is possible to performdetermination in accordance with the setting of the paper type. In acase where the determination results at this step are affirmative, theprocessing advances to S607 and on the other hand, in a case where thedetermination results are negative, the processing advances to S608.

At S607, the data conversion unit 212 performs processing to insert themargin that is necessary into the print data. It is possible to acquirethe margin amount that is inserted at S607 by referring to the datatable shown in FIG. 7 . In a case of NO at S606, that is, it is possibleto perform printing without any problem with the margin of the normalregular size, the processing at S607 is skipped.

At S608, the printer driver unit 213 performs print data conversionprocessing to create print data in the individual format based on theraster data and the printing setting information and completes the dataconversion.

Lastly, at S609, the print communication unit 204 transmits the printdata acquired as a result of S608 to the printer 12 and the series ofprocessing is completed.

<Margin Designation Processing>

It may also be possible to cause a user to select how to insert a marginat the time of the data conversion unit inserting a margin into theprint data at S607, which is created at S604. As in FIG. 8 , as a margininsertion method, there exist a method 82 of deleting the data in themargin area and a method 83 of securing the margin area and fitting theimage data to within the print area for original data 81. Which of thesetwo methods brings about desired printing results may be differentdepending on a user, and therefore, by causing in advance a user toselect the method, desired results become more likely to be obtained. Inthat case, it is considered to present a GUI screen, for example, suchas a margin designation screen 84, to a user. It is possible for a userto select one of a forcible margin addition mode 85 and a fitting mode86 via the margin designation screen 84, which is a GUI screen providedby the print data conversion utility 203. In a case where a user selectsthe forcible margin addition mode 85, the printing results are as thoseby the method 82 of deleting the data in the margin area and in a casewhere a user selects the fitting mode 86, the printing results are asthose by the method 83 of securing the margin area and fitting the datato within the print area. The module that inserts a margin into printdata may be the printer driver unit 213 in place of the data conversionunit 212.

<Guidance of Printing Results to User>

Before the data conversion unit inserts a margin at S607 into the printdata created at S604, it may also be possible for the printer 12 toperform display control to display a preview of the printing results ina case where a margin is inserted on the print job management window 37.Further, it may also be possible for the printer 12 to notify a user inadvance that part of the image of the original data will be lost in acase where printing is performed with a margin being inserted on theprint job management window 37. There is a possibility that theunintended lost of part of the image or the change in the layout in theprinting results is not a user's desire. By presenting in advanceinformation on the printing results to a user, it is possible for theuser to check whether desired results are obtained before printing.

FIG. 9A shows an example of a printing results preview and FIG. 9B showsan example of a warning message indicating that part of printing resultswill be lost. A printing results preview screen 91 is a screendisplaying a printing results preview image 92 in a case where a marginis inserted into print data on the print job management window 37. Auser views the printing results preview screen 91 and determines whetherto perform printing in this state and in a case where a user pressesdown an OK button 93, the printing processing is started. On the otherhand, in a case where the printing results are not desired results and auser desires to cancel printing, it is possible for the user to suspendprinting by pressing down a Cancel button 94.

A printing results check message screen 95 shown in FIG. 9B is a GUIscreen presenting a message to the effect that there is a possibility ofthe lost of part of printing results or the reduction in the printingresults in a case where a margin is inserted into the print data on theprint job management window 37. As on the printing results previewscreen 91 described previously, a user views the printing results checkmessage screen 95 and determines whether to perform printing in thisstate and in a case where a user presses down an OK button 97, theprinting processing is started. On the other hand, in a case where theprinting results are not desired results and a user desires to cancelprinting, it is possible for the user to suspend printing by pressingdown a Cancel button 96.

<Skip of Margin Insertion Processing in Accordance with Actual MarginAmount of Print Data>

Further, an aspect is considered in which the actual margin amountitself in the print data in the standard format, which is created by thedrawing application 201, is derived at the time of the data conversionunit inserting a margin into the print data at S607, and whether thederived margin amount is larger than or equal to a predeterminedthreshold value is determined. In a case where the derived margin amountis sufficient, that is, the derived margin amount is larger than orequal to the predetermined threshold value, it may be possible to skipthe margin insertion processing at S607. The reason is that there is auser who creates data that secures in advance a margin on the drawingapplication 201, and in the case such as this, the margin insertion stepis no longer necessary.

Second Embodiment

In the first embodiment, the margin insertion processing for print datais performed by the print data conversion utility. In contrast to this,in the present embodiment, instead of the print data conversion utilityperforming the margin insertion processing, margin information isattached to print data as printing setting information so that it ispossible to insert a necessary margin in the processing at the time ofprinting by the printer 12. In the following, explanation of thecontents common to those of the first embodiment is omittedappropriately and different points are explained mainly.

FIG. 10 shows a flowchart showing processing of the print dataconversion utility 203 in the present embodiment. The flow at S601 toS606 in FIG. 10 is the same as that of the first embodiment, andtherefore, explanation of each piece of the processing is omitted (seeFIG. 6 ).

In a case where the determination results at S606 are affirmative, thatis, in a case where the data of the margin-large size is necessary, atS1001, the data conversion unit 212 attaches margin information asprinting setting information in print data.

FIG. 11 shows an example of print data in the present embodiment. It isassumed that print data 1101 in the present embodiment includes aprinting setting portion 1102 and an image data portion 1103. In theprinting setting portion 1102, margin information 1104 is described andbased on this margin information 1104, the printer 12 performsprocessing to insert a margin into the received print data. Further,this margin information 1104 is set by acquiring a necessary marginamount (see FIG. 7 ) for each paper type stored in the device modelinformation database. The printer driver unit 213 converts the printdata 1101 including the printing setting portion 1102 in which themargin information 1104 is described into print data in the individualformat at S608. Then, at S609, the print data conversion utility 203transmits the print data in the individual format to the printer 12 viathe print communication unit 204. Due to this, it is made possible forthe printer 12 to attach a margin at the time of printing by referringto the margin information 1104.

Third Embodiment

As described previously, in the OS standard printing function, it ispossible to perform printing based on setting information relating tocustom paper (in the following, called custom paper settinginformation), which is created by a user. Consequently, it is possiblefor a user to create in advance the custom paper setting information onthe drawing application 201. However, despite that the custom papersetting information on the printable area different from the regularsize is created, there is a case where the OS standard printing functionrecognizes the printable area as the printable area of the normalregular size on a condition that the outer shape size is the same. Thepresent embodiment deals with the case such as that. In the following,explanation of the contents common to those of the first embodiment isomitted appropriately and different points are explained mainly.

<Creation of Custom Paper Setting Information>

In the following, a custom paper setting information creation functionas the OS standard printing function is explained by using FIG. 12 .FIG. 12 shows a menu screen for creating custom paper settinginformation in the present embodiment. It is possible to open a dialog1201 on the screen of the drawing application 201. On the dialog 1201, acustom paper list 1202, a custom paper addition button 1203, a custompaper deletion button 1204, and a setting information duplicate button1205 exist. The custom paper list 1202 is a list in which the custompaper for which the custom paper setting information has been created sofar is displayed in a list. The custom paper addition button 1203 is abutton for creating new custom paper setting information. The custompaper deletion button 1204 is a button for deleting already-createdcustom paper setting information. The setting information duplicatebutton 1205 is a button for duplicating already-created custom papersetting information and creating new custom paper setting information.

Further, on the dialog 1201, as custom paper setting menus, a custompaper width menu 1206, a custom paper height menu 1207, and a custompaper margin menu 1208 exist. The custom paper width menu 1206 is a menufor inputting a width of paper. The custom paper height menu 1207 is amenu for inputting a height of paper. The custom paper margin menu 1208is a menu for inputting a margin of custom paper. In a case where custompaper setting information is created newly, default values are input inthese custom paper setting menus. A user creates custom paper settinginformation by inputting an arbitrary width, height, and margin andperforming the setting of desired custom paper. Further, by selectingthe custom paper for which the custom paper setting information hasalready been created in the custom paper list 1202, it is possible forthe user to check the width, height, and margin of the selected custompaper on the screen. In a case where the creation of the custom papersetting information is completed, a user presses down an OK button 1209to close the dialog 1201.

FIG. 12 shows the state where the custom paper setting information onthe paper the same size as the A4 size (210 mm×297 mm) and only themargin of which is different from the regular size (in the following,called “custom A4 margin-large size”) is created and the custom A4margin-large size is selected. In this case, it is assumed that each ofthe top, bottom, left, and right margins for the A4 regular size is 5mm, and for the custom A4 margin-large size, each of the top and bottommargins is 20 mm and each of the left and right margins is 5 mm.

<Printing Processing in a Case where Custom Paper is Selected>

In a case where custom paper setting information is created by a user,it is possible to select custom paper in the paper size menu 46 (seeFIG. 4 ) and perform printing for the selected custom paper. Here, acase is considered where the A4 margin-large size described previouslyis selected in the paper size menu 46 and printing is performed. In thiscase, the drawing application 201 outputs print data in the standardformat and printing setting information on the custom A4 margin-largesize based on the printing setting in the paper size menu 46. Theexpected operation is that the print data in the standard format and theprinting setting information are delivered to the print data conversionutility 203 via the OS standard printing system 202.

However, it may happen sometimes that the OS standard printing system202 delivers the print data in the standard format and the printingsetting information that are the same as those in a case where the A4regular size is selected in the paper size menu 46 to the print dataconversion utility 203. In this case, it is not possible for the printdata conversion utility 203 to determine whether the A4 regular size isselected or the custom A4 margin-large size is selected in the papersize menu 46.

<Reference to Custom Paper Setting Information>

Consequently, in the present embodiment, the OS standard printing system202 refers to the custom paper setting information stored within thesystem and the print data conversion utility 203 performs processingbased on the custom paper setting information. FIG. 13 shows a custompaper setting information file 1301 stored by the OS standard printingsystem 202. As shown in FIG. 13 , for the custom paper settinginformation created via the dialog 1201, width information 1302, heightinformation 1303, and margin information 1304 are stored in the custompaper setting information file 1301. This custom paper information isdescribed in the markup language.

The information in the custom paper setting information file 1301 isused in a case where the custom paper size and margin information aredisplayed in the paper size menu 46 and the dialog 1201. Further, theinformation in the custom paper setting information file 1301 is alsoused in a case where the OS standard printing system 202 delivers theprint data in the standard format and the printing setting informationto the print data conversion utility 203.

In the present embodiment, it is not possible to distinguish whether theA4 regular size is selected or the A4 custom margin-large size isselected in the paper size menu 46 for the print data in the standardformat and the printing setting information that are delivered to theprint data conversion utility 203. In other words, whichever size isselected, the printing setting information on the A4 regular size shownin FIG. 5 is delivered to the print data conversion utility 203. In acase where the print data and the printing setting information on theregular size are delivered to the print data conversion utility 203,whether the paper type is selected in the paper type menu 36 isdetermined, for which desired printing results are not obtained unlessthe margin-large size whose margin is larger than that of the normalregular size is selected. As in the first embodiment, this determinationis performed by the print data conversion utility 203 acquiringnecessary information from the data table stored in the device modelinformation database shown in FIG. 7 . Next, the print data conversionutility 203 checks whether the information on the custom paper the sameshape as that of the regular size exists by referring to the custompaper setting information file 1301. In a case where the information onthe custom paper the same shape as that of the regular size existswithin the custom paper setting information file 1301, the possibilitythat the custom A4 margin-large size has been selected in the paper sizemenu 46 is strong. Because of this, the print data conversion utility203 instructs the data conversion unit 212 and the printer driver unit213 to perform processing based on the information on the custom paperthe same shape as that of the regular size described in the custom papersetting information file 1301.

FIG. 14 shows the flowchart showing the processing of the print dataconversion utility 203 in the present embodiment. The flow at S601 toS606 in FIG. 14 is the same as that of the first embodiment, andtherefore, explanation of each piece of the processing is omitted (seeFIG. 6 ).

In a case where the determination results at S606 are affirmative, thatis, in a case where the data of the margin-large size is necessary, atS1401, the data conversion unit 212 determines whether the paper sizeinformation of the current printing setting information indicates theregular size. In a case where the determination results at this step areaffirmatively, the processing advances to S1402 and on the other hand,in a case where the determination results are negative, the processingadvances to S608.

First, a case where the determination results at S1401 are negative(that is, in a case of NO at S1401), that is, a case where the printingsetting for the custom paper has been performed is explained. In thiscase, by performing printing in accordance with the printing setting forthe custom paper faithfully, it is possible to perform printing inaccordance with the input via the paper size menu 46. Consequently, theprocessing advances to S608 without performing particular processing andthe print communication unit 204 transmits the print data to the printer12 at S609.

Following the above, a case where the determination results at S1401 areaffirmative (that is, in a case of YES at S1401), that is, a case wherethe printing setting for the regular size paper has been performed isexplained. In this case, there is a possibility that the OS standardprinting system 202 has set the paper size information as informationindicating the regular size despite the selection of the custom paper bya user in the paper size menu 46. Consequently, at S1402, the dataconversion unit 212 acquires the information stored in the custom papersetting information file 1301 by referring to the custom paper settinginformation file 1301.

At S1403, the data conversion unit 212 determines whether there isinformation on the custom paper within the custom paper settinginformation file 1301, whose outer shape size is the same as the sizeindicated by the paper size information of the printing settinginformation based on the information acquired at S1402 and the currentprinting setting information.

That the determination results at S1403 are negative means that theregular size is selected simply in the paper size menu 46. It is notpossible to perform printing with a combination of the selected regularsize and the paper type for which desired printing results are notobtained unless the margin-large size whose margin is larger than thatof the normal regular size is selected. Consequently, in this case, atS1404, the print data conversion utility 203 displays a setting error onthe print job management window 37 and the series of processing iscompleted.

On the other hand, in a case where the determination results at S1403are affirmative (in a case of YES at S1403), it is possible to determinethat the OS standard printing system 202 has set the information on thepaper size as information corresponding to the regular size despite theselection of the custom paper whose shape and size are the same as thoseof the regular size in the paper size menu 46. Consequently, at S1405,the data conversion unit 212 performs processing to insert a margin intothe print data based on the custom paper setting information acquiredfrom the custom paper setting information file 1301.

After that, the processing advances to S608 and S609 and the print datais transmitted to the printer and the series of processing is completed.

<Processing that Takes into Consideration a Plurality of Pieces ofCustom Paper of Same Shape>

In a case where the plurality of pieces of custom paper settinginformation stored in the custom paper setting information file 1301 andthe printing setting information match with each other at S1403, it mayalso be possible to cause a user to select which custom paper settinginformation to use for printing on the print job management window 37.The reason is that in a case where there exists a plurality of pieces ofcustom paper having the same outer shape but different margins, it isnot possible to uniquely determine custom paper setting information tobe used. By causing a user to select which custom paper to use, it ismade possible to provide desired printing results.

FIG. 15 shows an example of the custom paper selection dialog. In acustom paper selection dialog 1501 on the print job management window37, a selection candidate custom paper list 1502 exists. By a userselecting custom paper the user desires to use for printing from thelist and then pressing down an OK button 1503, printing processing usingthe selected custom paper information is started.

<Processing that Takes into Consideration Margin Amount of Custom Paper>

Further, even though the custom paper setting information stored in thecustom paper setting information file 1301 and the printing settinginformation match with each other at S1403, there is a case where custompaper setting information whose margin amount is short is created.Specifically, there is a case where it is found that the margin amountof the custom paper is less than the necessary margin amount as a resultof acquiring the necessary margin amount for the selected paper typefrom the data table (see FIG. 7 ) stored in the device model informationdatabase and comparing the margin amount of the custom paper and thenecessary margin amount. In this case, desired printing results are notobtained eventually, and therefore, it may also be possible to performprocessing to exclude the custom paper from the candidates of the custompaper to be used.

OTHER EMBODIMENTS

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

According to one embodiment of the present invention, it is madepossible to provide a printing system capable of supporting a pluralityof printable areas for one paper size without using an inherent printerdriver.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2020-078324, filed Apr. 27, 2020, which is hereby incorporated byreference wherein in its entirety.

What is claimed is:
 1. A control method executed by at least oneprocessor of an information processing apparatus in which first printingcontrol software and second printing control software different from thefirst printing control software are installed, the control methodcomprising: by the second printing control software, receiving firstformat print data created by the first printing control software; and bythe second printing control software, based on the received first formatprint data, creating second format print data which is different fromthe first format print data and has a margin inserted based on a papertype to be printed.
 2. The control method according to claim 1, furthercomprising, by the second printing control software, inserting a margininto the first format print data created by the first printing controlsoftware to convert the first format print data into which the margin isinserted into the second format print data.
 3. The control methodaccording to claim 1, wherein the first format print data is a rasterformat print data.
 4. The control method according to claim 1, furthercomprising, by the second printing control software, determining whetherthe paper type based on printing setting set in a drawing applicationand a paper type which the second printing control software receivesbased on user instructions match with each other, wherein in a casewhere it is determined that the paper types match with each other, amargin is inserted into the second format print data.
 5. The controlmethod according to claim 1, wherein a margin is inserted into thesecond format print data based on a method indicated by a user of afirst method of deleting by a margin to be inserted a portion of data tobe printed and a second method of reducing the data to be printed so asnot to delete the portion of the data to be printed by the margin to beinserted.
 6. The control method according to claim 5, furthercomprising, by the second printing control software, displaying on adisplay device a screen for causing the user to select either the firstmethod or the second method.
 7. The control method according to claim 1,further comprising, by the second printing control software, displayingon a display device a preview of printing results based on the secondformat print data into which a margin is inserted.
 8. The control methodaccording to claim 1, further comprising, by the second printing controlsoftware, displaying on a display device a message warning there is apossibility that printing results based on the second format print datainto which a margin is inserted are different from printing resultsbased on print data before the margin is inserted.
 9. The control methodaccording to claim 1, wherein in a case where a margin amount of printdata created by a drawing application is larger than or equal to apredetermined value, a margin is not inserted into the second formatprint data by the second printing control software.
 10. The controlmethod according to claim 1, wherein the first printing control softwareis software provided by an operating system installed in the informationprocessing apparatus.
 11. The control method according to claim 1,wherein the second printing control software is software provided by avendor of a printing apparatus which is connected to the informationprocessing apparatus and performs printing based on the second formatprint data.
 12. The control method according to claim 1, wherein thesecond format print data is transmitted to a printing apparatus whichcannot interpret the first format print data.
 13. An informationprocessing apparatus in which first printing control software and secondprinting control software different from the first printing controlsoftware are installed, the information processing apparatus comprising:at least one processor; and at least one memory configured to storeconversion software that, when executed by the at least one processor,causes the information processing apparatus to act as: a receiving unitconfigured to receive first format print data created by the firstprinting control software; and a creating unit configured to create,based on the received first format print data, second format print datawhich is different from the first format print data and has a margininserted based on a paper type to be printed.
 14. The informationprocessing apparatus according to claim 13, wherein the creating unitinserts a margin into the first format print data created by the firstprinting control software and converts the first format print data intowhich the margin is inserted into the second format print data.
 15. Theinformation processing apparatus according to claim 13, wherein thefirst format print data is a raster format print data.
 16. Theinformation processing apparatus according to claim 13, furthercomprising a determination unit configured to determine, by the secondprinting control software, whether the paper type based on printingsetting set in a drawing application and a paper type which the secondprinting control software receives based on user instructions match witheach other, wherein in a case where it is determined that the papertypes match with each other, the creating unit inserts a margin into thesecond format print data.
 17. The information processing apparatusaccording to claim 13, wherein the creating unit inserts a margin intothe second format print data based on a method indicated by a user of afirst method of deleting by a margin to be inserted a portion of data tobe printed and a second method of reducing the data to be printed so asnot to delete the portion of the data to be printed by the margin to beinserted.
 18. The information processing apparatus according to claim13, wherein the first printing control software is software provided byan operating system installed in the information processing apparatus.19. The information processing apparatus according to claim 13, whereinthe second printing control software is software provided by a vendor ofa printing apparatus which is connected to the information processingapparatus and performs printing based on the second format print data.20. The information processing apparatus according to claim 13, whereinthe second format print data is transmitted to a printing apparatuswhich cannot interpret the first format print data.